home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / mmgr134.zip / MAILMGR.ZIP / MAILFIX.DOC < prev    next >
Text File  |  1992-05-29  |  9KB  |  206 lines

  1.  
  2.    MAILFIX - An alternate purge/repair utility for RBBS-PC message bases
  3.  
  4.                             v1.10 - 11/19/91
  5.                            
  6.         (MailFix has not changed between versions 1.10 and 1.34)
  7.  
  8. This release is guaranteed to work for, (and satisfy) myself only.
  9. If you can use it, enjoy!  If you can't, delete it and save a few K
  10. on your hard disk.
  11.  
  12. ***** NOTE *****
  13.  
  14.    This version of MAILFIX is NOT fully compatible with the multiple
  15.    message headers which are (optionally) present in the current
  16.    RBBS-PC v17.4 betas.  This version of MAILFIX could conceivably
  17.    fail to correct a multi-header message, if the following condition
  18.    occurs:
  19.  
  20.       One of the message headers is corrupt, yet the FIRST header of
  21.       the message is OK.  
  22.  
  23.    Admittedly, the likelihood of this happening is slim, but the
  24.    possibility exists nonetheless.  If MAILFIX does happen to run
  25.    across this condition, it will assume that the message is OK,
  26.    and will not attempt to correct it.
  27.  
  28.    Mail Manager itself *IS* fully compatible with multi-header msg
  29.    bases, such as they are in the current v17.4 betas of RBBS-PC.
  30.  
  31. USAGE:
  32. -----
  33.  
  34. MAILFIX [/V] [/F] [/R] [/O] [/Knnn] D:\PATH\MESSAGE.FIL
  35.  
  36.        /V - View the integrity of the message file only.  Do not
  37.             perform the actual repair work, and do not create the
  38.             output file.
  39.  
  40.        /F - Informs MAILFIX that this is a fixed-length message
  41.             base.  If "/F" is not chosen, MAILFIX assumes the
  42.             message base to be configured as 'elastic'.
  43.  
  44.        /R - Informs MAILFIX that the sysop uses RBBMail or MsgToss
  45.             on this message base.  Both of these mail processors
  46.             format the time field in the message header with a
  47.             period instead of a colon, which CONFIG's option #185
  48.             (repair messages) chokes on.
  49.  
  50.        /O - Informs MAILFIX that the sysop uses OverMail on this
  51.             message base.  OverMail formats the time field in the
  52.             message header with a semicolon instead of a colon,
  53.             which CONFIG's option #185 (repair messages) chokes on.
  54.  
  55.        /Knnn - (Where "nnn" is the number of messages to keep.):
  56.             Tells MAILFIX to trim down the physical size of the
  57.             message base, regardless of whether or not the
  58.             messages to delete are flagged as "killed".  This
  59.             is useful for things like an echo area that grows
  60.             almost out of control daily.  "nnn" must be 3 digits.
  61.             If you want to keep 50 messages, your switch would
  62.             be "/K050".
  63.  
  64.             * NEVER use this switch in conjunction with "/V"!
  65.               ~~~~~
  66.             Use of this option will OVERWRITE your original
  67.             message file!
  68.  
  69.        D:\PATH\MESSAGE.FIL is the name of the messages file to
  70.        purge/repair.
  71.  
  72.        Unless the /V option is used, MAILFIX will create an output
  73.        file with the same name and the extension '.FIX'.  Above
  74.        example would create D:\PATH\MESSAGE.FIX.
  75.  
  76.        If the /Knnn switch is used, MAILFIX will make a second
  77.        pass on your message base, using the *.FIX file for input,
  78.        and the original file name for output.  When finished
  79.        your original message file will have been replaced by
  80.        MAILFIX's work, and the *.FIX file will be deleted.
  81.  
  82.  
  83. TECHIE STUFF FOR THOSE WHO CARE:
  84. -------------------------------
  85.  
  86. If you run a mail system that utilizes RBBSMail, MsgToss, or OverMail for echo
  87. mail processing, you're likely to have run across the fact that the repair
  88. utliity out of CONFIG (option #185) no longer works for you.  This is due to
  89. the fact that these mail processors place either a period or a semicolon
  90. in the time field of the message header on every message that they process.
  91.  
  92. This just happens to be one of CONFIG's five "key fields" that it looks at
  93. to determine whether or not the message is corrupt.
  94.  
  95. These key fields are:
  96.  
  97.          Description                                  Should be
  98.          -------------------------------------------  ---------
  99.          The "killed" flag,                           Ascii 225 or 226 "ß,Γ"
  100.          the first separator in the 'time' field,     ":"
  101.          the second separator in the 'time' field,    ":", ".", or ";"
  102.          the first separator in the 'date' field,     "-"
  103.          and the last separator in the 'date' field.  "-"
  104.  
  105. Therefore, this string of five characters is very important, and is what
  106. will be displayed to you if the message needs repaired, and you specify
  107. the "/v" option on MAILFIX's command line.  If you don't specify "/v" on
  108. the command line, MAILFIX will do it's best to fix the message, and report
  109. "<fixed>".
  110.  
  111. If you use a mail processor on your RBBS-PC message bases OTHER than
  112. RBBSMail, MsgToss, or OverMail, and said mail processor *DOESN'T* use
  113. a period or semicolon as its 'mark' in the second separator in the TIME
  114. field, we'd sure like to hear about it so that we can attempt to make
  115. MailFix compatible with your system.
  116.  
  117. WHEN, AND HOW MAILFIX FIXES A MESSAGE:
  118. -------------------------------------
  119.  
  120. To determine whether or not a message is valid, MAILFIX looks at the
  121. following in the message header:
  122.  
  123.   Message number             - Should never be zero.
  124.   Killed flag                - Should always be ASCII 225 or 226.
  125.   Number of 128-byte records - Should never be less than 1.
  126.  
  127. If the message header passes these three tests, MAILFIX assumes it has
  128. a valid message on it's hands, and moves on to do one of three things:
  129.    
  130.     - Copy it (if it isn't marked as killed, and doesn't need fixed).
  131.  
  132.          MAILFIX will step through the message's records and write
  133.          them to the output file.
  134.  
  135.     - Fix it (if it isn't marked as killed).
  136.  
  137.          If, during all of it's checks, MAILFIX finds that it has
  138.          a valid message on it's hands, yet the five key characters
  139.          mentioned above DON'T MATCH what they're supposed to,
  140.          the message header is adjusted as follows:
  141.  
  142.            * Sets the "killed" flag to indicate that this is an
  143.              active message (Ascii 225) "ß".
  144.  
  145.            * Sets the TIME separators to:
  146.  
  147.                     :: - RBBS-PC  (un-scanned by RBBSMail/OverMail)
  148.                     :. - RBBSMail
  149.                     :; - OverMail
  150.  
  151.              You must have specified "/R" or "/O" on the command line
  152.              for the RBBSMail/OverMail checks to take place.
  153.  
  154.              If "/R" or "/O" is specified, MAILFIX is smart enough to
  155.              discover whether or not the message has been scanned by
  156.              either one of these mail processors yet, and will not mark
  157.              an un-scanned message with the special "." or ";" separator.
  158.  
  159.            * Sets both DATE separators to "-".
  160.      
  161.     - Purge it (if it's marked as killed).
  162.  
  163.          MAILFIX will skip the entire message (and it's records) if
  164.          the message is marked as killed (ASCII 226) "Γ".
  165.  
  166. If the message didn't pass the tests, MAILFIX assumes that this is
  167. not a message header, reports to you as such, purges the offending
  168. record, and moves on to the next one.
  169.  
  170.  
  171. EXAMPLES:
  172. --------
  173.  
  174.        Unless you use the "/Knnn" command line option, MAILFIX will
  175.        not overwrite (or modify in any way) your original message
  176.        file.  If you want to replace your old message file with the
  177.        one that MAILFIX creates, your best bet is to run MAILFIX from
  178.        a batch file, like so:
  179.  
  180.        MAILFIX C:\RBBS\MAINM.DEF
  181.        IF EXIST C:\RBBS\MAINM.FIX DEL C:\RBBS\MAINM.DEF
  182.        IF EXIST C:\RBBS\MAINM.FIX COPY C:\RBBS\MAINM.FIX C:\RBBS\MAINM.DEF
  183.        IF EXIST C:\RBBS\MAINM.FIX DEL C:\RBBS\MAINM.FIX
  184.  
  185.        On the other hand, if you have an echo area that's scanned
  186.        by RBBSMail, and you want to keep it purged down to 100
  187.        messages, your command line would be:
  188.  
  189.           MAILFIX /R /K100 FILENAME.DEF
  190.  
  191.        If you wanted to do the same thing with a message base that's
  192.        been scanned by OverMail:
  193.  
  194.           MAILFIX /O /K100 FILENAME.DEF
  195.  
  196.        Either of these last two examples would replace "FILENAME.DEF"
  197.        with the fixed/purged/pruned message base.
  198.  
  199. Run MAILFIX without a command line to get a help screen.
  200.  
  201.                                            Chip Morrow, Sysop
  202.                                            Newark Connection RBBS
  203.                                            Data (614) 366-4392
  204.                                            PO Box 2023
  205.                                            Heath, OH  43056
  206.